package communication.server.vertx.dao;

import communication.server.vertx.entity.UserInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

/**
 * @author mac
 * userInfo的dao接口。
 *      *  注意： 使用原生sql语句进行 更新/新增/删除 等操作需要添加事务控制, 使用 注解 @Transactional ，@Modifying
 *
 *      例子：
 *
 *     @Transactional
 *     @Modifying
 *     @Query(value = "insert into stream_of_device_online(deviceId,duration,date) values(?1,?2,?3); ",nativeQuery = true)
 *     int insertIntoStream(String deviceId, Long duration ,String date);
 */
@Repository
public interface UserInfoDao extends JpaRepository<UserInfo,Long> {
    /**
     * 根据手机与是否删除进行查询
     * @param phone 手机号
     * @param deleteFlg 是否删除
     * @return UserInfo
     */
    UserInfo findByPhoneAndDeleteFlg(String phone, boolean deleteFlg);

    /**
     * 根据账户名称、密码、是否删除进行查询
     * @param accountName 账户名
     * @param passWord 密码
     * @param deleteFlg 是否删除
     * @return UserInfo
     */
    UserInfo findByAccountNameAndPassWdAndDeleteFlg(String accountName, String passWord, boolean deleteFlg);
}
